/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.team1160.beta.season2011.output;

/**
 * A command outputted by the @seeOutputManager class.
 * This class will be subclassed to form commands specific to the drivetrain,
 * and kicker.
 * @author sakekasi
 */
public abstract class OutputCommand {
    /**
     * the command. Specific indices are set to true or false to indicate the 
     * command.
     */
    protected double[] data;

    public OutputCommand(){
        this.data=new double[6];
    }
    /**
     * gets the command.
     * @return the boolean array data containing the values of specific indices.
     */
    public abstract double[] getData();
    
    /**
     * sets the command. This can also be done in the constructor.
     * @param command the boolean array which data will be set to.
     */
    public abstract void setData(double[] command);

    public double get(int i){
        return data[i];
    }

    public void set(int i,double value){
        this.data[i]=value;
    }
}
